$.fn.fullValidate = function(showText){
	var form = $(this);
	// Стираем сообщения-ошибки
	$('.userError').remove();
	// Убираем класс у ошибочных полей
	$("input, textarea", form).each(function(){
		$(this).removeClass('error-field');
	});
	
	$("input, textarea", form).each(function(){
		validate(this,showText);
	});
	
	function validate(obj,showText) {
		var numberRegexp = /^[0-9]+$/i;
		var phoneRegexp = /^[0-9]{4,16}$/i;
		var eMailRegexp = /^[0-9a-z-_\.]{1,70}@[0-9a-z-_]{2,30}\.[a-z]{2,8}$/i;
		// Обязательные для заполнения поля
		if ($(obj).hasClass('mandatory') && $(obj).val()=='' ) {
			if(showText) $(obj).after('<div class="userError">Заполните поле<div>'); 
			$(obj).addClass('error-field');
			return false;
		}
	
		if($(obj).hasClass('city-field') && $(obj).val()== '') {
			if(showText) $(obj).after('<div class="userError">Укажите город<div>'); 
			$(obj).addClass('error-field');
			return false;
		}
		if ($(obj).hasClass('phone') && $(obj).val() != '' && !phoneRegexp.test($(obj).val()) ) {
			if(showText) $(obj).after('<div class="userError">4-16 цифр<div>'); 
			$(obj).addClass('error-field');
			return false;
		}
		if ($(obj).hasClass('number') && $(obj).val() != '' && !numberRegexp.test($(obj).val()) ) {
			if(showText) $(obj).after('<div class="userError">Должно быть число<div>'); 
			$(obj).addClass('error-field');
			return false;
		}
		if ($(obj).hasClass('kaptchaInput') && $(obj).val() == '') {
			if(showText) $(obj).after('<div class="userError">Заполните поле<div>'); 
			$(obj).addClass('error-field');
			return false;
		}
		if ($(obj).hasClass('pass') && $(obj).val()== '') {
			if(showText) $(obj).after('<div class="userError">Укажите пароль<div>');
			$(obj).addClass('error-field');
			return false;
		}
		else if($(obj).hasClass('pass') && $(obj).val() != '' && $(obj).val().length < 6) {
			if(showText) $(obj).after('<div class="userError">Не менее 6 символов<div>');
			$(obj).addClass('error-field');
			return false;
		}
		if ($(obj).hasClass('pass-confirm') && $(obj).val() != $(".pass").val()) {
			if(showText) $(obj).after('<div class="userError">Не совпадает с паролем<div>');
			$(obj).addClass('error-field');
			return false;
		}
		if ($(obj).attr('maxlength') && $(obj).val().length > $(obj).attr('maxlength')) {
			if(showText) $(obj).after('<div class="userError">Не более' + $(obj).attr('maxlength') + 'символов<div>');
			$(obj).addClass('error-field');
			return false;
		}
		if ($(obj).attr('min') && $(obj).val().length < $(obj).attr('min')) {
			if(showText) $(obj).after('<div class="userError">Не менее ' + $(obj).attr('min') + ' символов<div>');
			$(obj).addClass('error-field');
			return false;
		}
		if ($(obj).hasClass('e_mail') && $(obj).val()!= '') {
			if(!eMailRegexp.test($(obj).val())) {
				if(showText) $(obj).after('<div class="userError">Неверный формат<div>');
				$(obj).addClass('error-field');
				return false;
			}
		}
		else if($(obj).hasClass('e_mail') && $(obj).val()== '') {
			if(showText) $(obj).after('<div class="userError">Укажите почту<div>'); 
			$(obj).addClass('error-field');
			return false;
		}
	}
	return $('.error-field').length == 0 ? true : false;
}